The present invention relates generally to data processing, and more particularly to an apparatus and system for an adaptive data management architecture.
Without limiting the scope of the present invention, this background of the present invention is described in connection with an adaptive data management architecture for storing and analyzing marketing data. The present invention, however, is not limited to the management of marketing data. The present invention is applicable to the management of any type of data where it is desirable to implement a flexible architecture that is adaptable by changing rules rather than changing programs.
One goal of marketing is to acquire, retain and maximize relationships with customers. This goal has become increasingly more important to modem businesses as technological advances have created a global economy, reduced the time it takes to bring a product to market, and caused traditional distribution channels to shrink, as more direct communication channels with customers have emerged. As a result, businesses are attempting to clarify their understanding of a customer""s brand and lifetime values while simultaneously attempting to analyze those values more quickly.
Despite significant advances in computer technology and these increasing market pressures, marketing data access and business logic are typically governed by inflexible computer systems. These systems typically have long development times and testing cycles and often rely on batch processing. As a result, the benefits from these systems have been largely tacticalxe2x80x94the storage and analysis of large amounts of customer data. Even the newer, more advanced systems typically cannot adapt quickly to changes in the marketing needs of businesses because these systems are large, complex and proprietary in nature. As a result, these systems are generally customized for each client and may require significant recoding to implement changes in the way that the data is analyzed and used. Today""s marketplace, however, demands marketing tools that have increased performance, scalability and flexibility.
More recently, in an attempt to improve flexibility and deliver more contemporary functionality, new marketing software has been implemented in a two tiered architecture (client/server). This two-tiered software, however, still mimics the past twenty years of software development with an occasional use of a xe2x80x9cprogramming busxe2x80x9d to separate the interface and database logic layers. Most of these software components have static rather than dynamic functionality, which means that they have difficulty accommodating emerging variations in data types and inter-process control methods. These limitations are particularly problematic in the areas of modern market research, campaign management, media planning and execution. Moreover, these software components require frequent rewrites, which makes a xe2x80x9cwhole productxe2x80x9d solution that can evolve quickly enough to keep pace with today""s rapidly expanding marketing knowledge gap virtually impossible to deliver.
Other features and advantages of the present invention will be apparent to those of ordinary skill in the art upon reference to the following detailed description taken in conjunction with the accompanying drawings.
The present invention provides an apparatus for managing data having a first database for storing system data, a second database for storing client data and at least one database server to control the first database and the second database. In addition, a first set of objects are linked to the first database through the database server, and a second set of objects are linked to the second database through the database server. Moreover, a set of minions is linked to the second set of objects, an agent manger is linked to the first set of objects and the set of minions, and an interactive manager is linked to the first set of objects, the agent manager and a user application via an inter-process communication interface.
The present invention also provides a computer program embodied on a computer-readable medium for managing data. The computer program has at least one code segment to control system data stored in a first database and client data stored in a second database and several code segments that define a first set of objects linked to the first database, a second set of objects linked to the second database, and one or more minions. There is also a code segment to provide an inter-process communication interface between a user application and the code segment to provide interaction with the one or more agent processes.
In addition, the present invention provides a database system having two or more computers communicably linked to each other through a network, a data storage tier resident on at least one of the computers, a user interface tier resident on at least one of the computers, and an object tier resident on at least one of the computers. The data storage tier has a first database for storing system data, a second database for storing client data and at least one database server to control the first database and the second database. The user interface tier has a user application. The object tier has a first set of objects linked to the first database through the database server, a second set of objects linked to the second database through the database server, a interactive manager resident on one of the computers in which the object tier is resident, a set of minions linked to the second set of objects, and an agent manager resident on each computer in which the object tier is resident, the first set of objects, and the set of minions. The interactive manager is linked to the first set of objects, the agent manager and the user application.